<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CANopenNode: Common definitions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CANopenNode
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__CO__STACK__CONFIG__COMMON.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">Common definitions<div class="ingroups"><a class="el" href="group__CO__CANopen__301.html">CANopen_301</a> &raquo; <a class="el" href="group__CO__driver.html">Driver</a> &raquo; <a class="el" href="group__CO__STACK__CONFIG.html">Stack configuration</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gab55099df45bed12f182ef7c0c779dc14"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__STACK__CONFIG__COMMON.html#gab55099df45bed12f182ef7c0c779dc14">CO_CONFIG_FLAG_CALLBACK_PRE</a>&#160;&#160;&#160;0x1000</td></tr>
<tr class="memdesc:gab55099df45bed12f182ef7c0c779dc14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable custom callback after CAN receive.  <a href="group__CO__STACK__CONFIG__COMMON.html#gab55099df45bed12f182ef7c0c779dc14">More...</a><br /></td></tr>
<tr class="separator:gab55099df45bed12f182ef7c0c779dc14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e84c3a9256f15246be7766a61096c2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__STACK__CONFIG__COMMON.html#ga9e84c3a9256f15246be7766a61096c2d">CO_CONFIG_FLAG_TIMERNEXT</a>&#160;&#160;&#160;0x2000</td></tr>
<tr class="memdesc:ga9e84c3a9256f15246be7766a61096c2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable calculation of timerNext_us variable.  <a href="group__CO__STACK__CONFIG__COMMON.html#ga9e84c3a9256f15246be7766a61096c2d">More...</a><br /></td></tr>
<tr class="separator:ga9e84c3a9256f15246be7766a61096c2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0f46ccffdd156cc7c2d8774ecb2060d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__STACK__CONFIG__COMMON.html#gaf0f46ccffdd156cc7c2d8774ecb2060d">CO_CONFIG_FLAG_OD_DYNAMIC</a>&#160;&#160;&#160;0x4000</td></tr>
<tr class="memdesc:gaf0f46ccffdd156cc7c2d8774ecb2060d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable dynamic behaviour of Object Dictionary variables.  <a href="group__CO__STACK__CONFIG__COMMON.html#gaf0f46ccffdd156cc7c2d8774ecb2060d">More...</a><br /></td></tr>
<tr class="separator:gaf0f46ccffdd156cc7c2d8774ecb2060d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="gab55099df45bed12f182ef7c0c779dc14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab55099df45bed12f182ef7c0c779dc14">&#9670;&nbsp;</a></span>CO_CONFIG_FLAG_CALLBACK_PRE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CO_CONFIG_FLAG_CALLBACK_PRE&#160;&#160;&#160;0x1000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable custom callback after CAN receive. </p>
<p>Flag enables optional callback functions, which are part of some CANopenNode objects. Callbacks can optionally be registered by application, which configures threads in operating system. Callbacks are called after something has been preprocessed by higher priority thread and must be further processed by lower priority thread. For example when CAN message is received and preprocessed, callback should wake up mainline processing function. See also <a class="el" href="group__CO__CANopen.html#ga895d7fad40b60aacdac3cb0615729b5e">CO_process()</a> function.</p>
<p>If callback functions are used, they must be initialized separately, after the object initialization.</p>
<p>This flag is common to multiple configuration macros. </p>

</div>
</div>
<a id="ga9e84c3a9256f15246be7766a61096c2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9e84c3a9256f15246be7766a61096c2d">&#9670;&nbsp;</a></span>CO_CONFIG_FLAG_TIMERNEXT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CO_CONFIG_FLAG_TIMERNEXT&#160;&#160;&#160;0x2000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable calculation of timerNext_us variable. </p>
<p>Calculation of the timerNext_us variable is useful for smooth operation on operating system. See also <a class="el" href="group__CO__CANopen.html#ga895d7fad40b60aacdac3cb0615729b5e">CO_process()</a> function.</p>
<p>This flag is common to multiple configuration macros. </p>

</div>
</div>
<a id="gaf0f46ccffdd156cc7c2d8774ecb2060d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf0f46ccffdd156cc7c2d8774ecb2060d">&#9670;&nbsp;</a></span>CO_CONFIG_FLAG_OD_DYNAMIC</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CO_CONFIG_FLAG_OD_DYNAMIC&#160;&#160;&#160;0x4000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable dynamic behaviour of Object Dictionary variables. </p>
<p>Some CANopen objects uses Object Dictionary variables as arguments to initialization functions, which are processed in communication reset section. If this flag is set, then writing to OD variable will reconfigure corresponding CANopen object also during CANopen normal operation.</p>
<p>This flag is common to multiple configuration macros. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Thu Dec 24 2020 14:30:50 for CANopenNode by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
